Сегодня мы поговорим о
Easy Fps Editor
(Часть 2)
Кубические карты нужны для изменения текстуры каждой грани стены.
Для этого вам необходимо создать специальную текстуру, содержащую все необходимые изображения. Вы можете использовать этот образец ниже:
Все текстуры должны быть прямоугольными, а отображение выглядит следующим образом (сверху вниз, если игрок смотрит вверх по редактору):
- Верхняя сторона
- Левая сторона, Лицевая сторона (тот, кто смотрит на игрока), Правая сторона, Задняя сторона
- Нижняя сторона
Если вам нужно изменить только верхнюю и нижнюю стороны, рекомендуется использовать высокую текстуру:
Верхняя текстура станет текстурой для основных сторон, а нижняя станет верхней и нижней сторонами блока.
Чтобы использовать эти текстуры, просто добавьте их на карту, как обычно.
Текстура дверей выглядит одинаково: верхняя текстура является текстурой двери, а нижняя текстурой дверного косяка (см. «Модификаторы»).
Триггеры — это блоки, которые воспроизводят звук или выполняют скрипт, когда игрок проходит через них. Их можно размещать только на полу.
Вы можете установить скрипт или звук на правой панели, нажав «Триггеры»:
Просто выберите тип файла, который вам нужен в фильтрах.
Терминалы — это блоки, которые может использовать игрок. Их можно размещать только на плитке или полу.
По сути, они просто вызывают скрипт, который вы можете установить на правой панели, нажав «Терминалы»:
Предупреждение: сценарии должны иметь очень строгий формат. Их неправильное написание может сломать вашу игру. Используйте с осторожностью и всегда проверяйте свои скрипты!
Чтобы использовать систему сценариев, вам необходимо создать файл сценария в «Data/Scripts». Это простой текстовый файл с расширением «.script» (если у вас не включены расширения в проводнике, вам следует сделать это прямо сейчас. Если вы не хотите, вам придется найти где-нибудь пример файла сценария. и отредактируйте его). Имя файла скрипта может быть:
- MapName.script — где «MapName» — это… ну, имя карты, к которой вы хотите привязать этот скрипт.
- DecorationName.script — где «DecorationName» — это имя украшения, к которому вы хотите привязать этот скрипт. Этот скрипт будет использоваться, когда игрок находится рядом с украшением и нажимает кнопку «Использовать».
- Любой другой скрипт будет загружен только в том случае, если он был установлен в настройках триггеров или терминалов (см. «Триггеры»)
Язык сценариев очень прост в использовании:
Команды пишутся каждая на своей строке. Любой аргумент, необходимый этим командам, должен быть разделен одним пробелом. Вот и все, команды выполняются в порядке сверху вниз в файле.
Пример:
image Character Sprites/Characters/Character.png
show Character 0 0 2
text "Hello World!"
hide Character 2
timeout 2
map start
Этот скрипт загрузит изображение, установит его имя в качестве символа, покажет его на 0, 0 в течение 2 секунд, покажет текст на экране, скроет изображение в течение 2 секунд, установит тайм-аут на 2 секунды, запустит карту.
Переменные
Переменная — это имя, к которому вы можете привязать определенное значение. Существует три вида переменных:
- Глобальный — доступна вся игра, независимо от карты, на которой в данный момент играет игрок.
- Переменные карты — доступны во время текущей карты. Удалил после того, как все закончилось.
- Локальные переменные — доступны только во время текущего скрипта. Удален после того, как все заработало.
Чтобы установить переменную, вам просто нужно написать ее имя и значение, разделенные знаком «=". «глобальный». префикс предназначен для глобальных переменных «map». для переменных карты:
global.value=10
map.value="Character"
value=10
Чтобы использовать переменную, вам нужно поставить символ $ перед ее именем:
text "$global.value"
image $map.value Sprites/Characters/Character.png
text "$value"
Если вам нужно что-то вычислить (а переменная — это число), используйте следующие операторы:
value+=2 //Добавление
value-=2 //Вычитание
value*=2 //Умножение
value/=2 //Подразделение
value%=2 //Операция по модулю
value++ //Инкремент (увеличение на 1)
value-- //Декремент (уменьшение на 1)
Переменным также можно установить значение «RANDOM(x,y)», чтобы выбрать случайное число между x (включительно) и y (исключительно):
value=RANDOM(0,3) //Randomly sets 'value' to either 0,1, or 2
Условия
Условия — это блоки кода, которые будут выполняться только при выполнении некоторых условий. Имейте в виду: «if» и компаратор тоже являются командами, поэтому ДОЛЖНЫ быть пробелы, разделяющие их:
if $value == 1 {
map next
} else {
map goto 3
Код внутри блока if будет выполняться только в том случае, если значение равно 1. Код внутри блока else будет выполняться, если значение НЕ равно 1. Блок Else можно опустить, если он вам не нужен:
if $value == 1 {
map next
}
Вместо "==" вы можете использовать:
- != - условие выполняется, если значение НЕ равно
- <= — условие выполняется, если значение меньше или равно
- >= — условие выполняется, если значение больше или равно
- < - условие выполняется, если значение меньше
- > - условие выполняется, если значение больше
Процедуры
Процедуры — это фрагменты кода, которые можно использовать в любое время. Ключевое слово «конец» обозначает завершение процедуры, поэтому убедитесь, что их достаточно:procedure helloworld
text "Hello World!"
end; //semicolon in necessary if you have more than one procedure
procedure helloworld2
text "Hello World 2!"
end
Вызов процедуры осуществляется с помощью команды «call»:
call helloworld
call helloworld2
Процедуры существуют только внутри одного файла. Если они вам нужны в другом файле, вам придется их скопировать.
- mcolor 255 255 255 — устанавливает цвет шрифта главного меню как R,G,B.
- mbutton «CONTINUE» 50 370 «возврат» -1 — создает кнопку. Вы не можете создать свою собственную кнопку, они жестко запрограммированы. Последняя цифра - это экран меню, на котором эта кнопка будет отображаться: -1 - любой из них, 0 - только главный экран, 1 - сохранение, 2 - загрузка, 3 - видео, 32 - видео 2, 4 - игра, 5 - аудио, 6 – вход, 62 – клавиатура.
- mtext «SETTINGS» 570 30 5 — единственный компонент, который вы можете создать. Просто показывает текст.